Remove["Global`*"]
(* Exact solution *)
DSolve[{y''[x]==-(E^(-x)) y[x],y[0]==1,y'[0]==1},y[x],x]

Remove["Global`*"]
(* Perturbation Solution *)
ϵ=1;
y0 = 1+x;
y1 = -3*Exp[-x]-x*Exp[-x]-2 x + 3;
y2 = (1/4) (E^(-2 x)) (4+4 (E^x)-8 (E^(2 x))+x+8 (E^x) x+3 (E^(2 x)) x);
y3 = -(1/108) (E^(-3 x)) (14+81 (E^x)-54 (E^(2 x))-41 (E^(3 x))+3 x+54 (E^x) x+81 (E^(2 x)) x+12 (E^(3 x)) x);
ytwo = y0 + ϵ y1;
ythree = y0 + ϵ y1 + (ϵ^2) y2;
yfour = y0 + ϵ y1 + (ϵ^2) y2 + (ϵ^3) y3;
f = (BesselJ[0,2 (Sqrt[(E^(-x))])] BesselY[0,2]-BesselJ[0,2] BesselY[0,2 (Sqrt[(E^(-x))])]+BesselJ[1,2] BesselY[0,2 (Sqrt[(E^(-x))])]-BesselJ[0,2 (Sqrt[(E^(-x))])] BesselY[1,2])/(BesselJ[1,2] BesselY[0,2]-BesselJ[0,2] BesselY[1,2]);

Needs["PlotLegends`"]
Plot[{f,ytwo,ythree,yfour},{x,0,10},PlotStyle-> {Directive[Black,Thick],Directive[Red,Thick],Directive[Blue,Thick],Directive[Black,Thick,Dashed]},PlotRange->2,PlotLegend->{Style["(Subscript[y, exact])",Bold,20],Style["y=(Subscript[y, 0])+ϵ (Subscript[y, 2])",Bold,20],Style["y=(Subscript[y, 0])+ϵ (Subscript[y, 1])+(ϵ^2)(Subscript[y, 2])",Bold,20],Style["y=(Subscript[y, 0])+ϵ (Subscript[y, 1])+(ϵ^2)(Subscript[y, 2])+(ϵ^3)(Subscript[y, 3])",Bold,20]},LegendShadow->None,LegendBorder->None,LegendSpacing->-0.3,LegendPosition->{0.3,0.1},BaseStyle->{FontSize->24}]

DSolve[{y''[x]==-Exp[-x]*(y2),y[0]==0,y'[0]==0},y[x],x]