W jaki sposób poprawnie otworzyć plik?

W jaki sposób poprawnie otworzyć plik?
BO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
0

Mam prościutki skrypt w perlu chce otworzyć plik txt nie mam pojęcia co robię nie tak.

Kopiuj
#! usr/bin/perl -w
 open(UCHWYT,'D:/je.txt') || die "Nie można otworzyć pliku";

Próbowałem rożne lokalizacje ale nadal nie wiem czemu się nie otwiera, proszę o pomoc.

dodanie znacznika <code class="perl"> - @furious programming

PS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 31
0

Spróbuj tak:

Kopiuj
#!/usr/bin/perl
open(uchwyt, 'lokalizacja/do/pliku') or die "nie mozna otworzyc";

potem możesz sobie te dane zapisać do tablicy w taki sposób:

Kopiuj
my @dane = <uchwyt>;

a na koniec:

Kopiuj
close (uchwyt);
BO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
0

Nic nie pomogło to tak wygląda jak by coś ze ścieżka było źle ale plik je.txt mam na dysku D więc chyba dobrze ścieżka zapisana prościej się nie da nie wiem czemu się nie otwiera.

PS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 31
0

po #!/usr/bin/perl
dodaj:

Kopiuj
use warnings;

I spróbuj jeszcze tak odpalić:

Kopiuj
open(UCHWYT,'D:/je.txt') or die "Nie można otworzyć pliku".$!; 

I pokaż co wypluje.

BO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
0
Kopiuj
Unquoted string "uchwyt" may clash with future reserved word at k.pl line 3.
Name "main::uchwyt" used only once: possible typo at k.pl line 3.

teraz jest tak

Kopiuj
Name "main::UCHWYT" used only once: possible typo at k.pl line 5.

dodanie znaczników <code class="none"> - @furious programming

PS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 31
0
Bobo napisał(a):

teraz jest tak
Name "main::UCHWYT" used only once: possible typo at k.pl line 5.

Wygląda na to, że Twój plik został wczytany. ;)

BO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
0

ale ja chce żeby mi się otworzył jako okienko co trzeba zrobić?
Ja myślałem ze po zastosowaniu takiego polecenia otworzy się okienko notatnika.

PS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 31
0

Więc źle sprecyzowałeś pytanie.
Domyślam się, że to Windows spróbuj tak:

Kopiuj
my $notepad = "notepad.exe"
my @args = ($notepad, "lokalizacja/do/pliku");
system(@args);
#wystapil blad
if ($? == -1) {
    die "error: $?";
}

Ja myślałem ze po zastosowaniu takiego polecenia otworzy się okienko notatnika.

Nie, zastosowanie powyższego kodu ( open(uchwyt...) ) powoduje wczytanie treści pliku.

BO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
0

a to polecenie open jakie ma zadanie? mówi perlowi ze będziemy operować na uchwycie ...... i dokonywać zmian na pliku z nim powiązanym?
rozumiem czyli wczytujemy treść pliku i on się nam nie otwiera w okienku tylko możemy za pomocą innych poleceń edytować używać tej wpisanej treści w pliku?
mógłbyś mi podać twoje gg tak na przyszłość gdybym miał z czymś jeszcze problemy?

PS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 31
0

Open służy głównie do odczytywania plików, zmiany ich treści. ;-)

"mógłbyś mi podać twoje gg tak na przyszłość gdybym miał z czymś jeszcze problemy?"

Nie korzystam z komunikatorów. W razie problemów masz forum, albo możesz też napisać PW - w miarę możliwości i czasu będę mógł coś tam podpowiedzieć.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.