Conditional z regexem, dla plików innych niż .jpg

0

Mam w pliku tekstowym listę plików .jpg, .png itp.

chcę zrobić warunek, że jeśli plik jest różny od .jpg to wykonują się dalsze instrukcje

if("$string" !~ m/jpg/)	
{ 
...
}

I tu mam problem, bo nawet w przypadku plików .jpg warunek jest true :/ Niestety nie jestem biegły w regexach ktoś wie jak to obejść? :)

0

W odpowiedzi zaznaczonej jako rozwiązanie masz jak wyrażeniem regularnym wyciągnąć rozszerzenie
https://stackoverflow.com/questions/2467016/is-there-a-regular-expression-in-perl-to-find-a-files-extension

0

No i mam ciekawy problem. Jeśli zrobię tak:

my $string ="basjdasjdbksajkb.jpg";
my ($ext) = $string =~ /(\.[^.]+)$/;

if($ext !~ m/jpg/)	
{ 
...
}

no to działa ok, ale jeśli $string dam nazwę zczytaną z pliku tekstowego to dostaję błąd "Use of uninitialized value $ext in concatenation (.) or string". Co ciekawe printuje $ext i dostaję .jpg, więc skąd ten komunikat o niezaincjalizowanej zmiennej?

1 użytkowników online, w tym zalogowanych: 0, gości: 1