use strict; use warnings; use 5.010; my %pics; while () { chomp; $pics{$_} = 1; } my @unique_names = keys %pics; foreach (@unique_names) { say; } __DATA__ /a/b/img1.jpg /a/b/img1.jpg /a/b/img2.jpg /x/y/img2.jpg /x/y/img2.jpg /x/y/img3.jpg #### /a/b/img2.jpg /a/b/img1.jpg /x/y/img3.jpg /x/y/img2.jpg